home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-03-14 | 21.3 KB | 489 lines | [TEXT/MPS ] |
- Info file gcc.info, produced by Makeinfo, -*- Text -*- from input
- file gcc.texinfo.
-
- This file documents the use and the internals of the GNU compiler.
-
- Copyright (C) 1988, 1989 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided also
- that the sections entitled ``GNU General Public License'' and
- ``Protect Your Freedom--Fight `Look And Feel''' are included exactly
- as in the original, and provided that the entire resulting derived
- work is distributed under the terms of a permission notice identical
- to this one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that the sections entitled ``GNU General Public
- License'' and ``Protect Your Freedom--Fight `Look And Feel''' and
- this permission notice may be included in translations approved by
- the Free Software Foundation instead of in the original English.
-
-
- File: gcc.info, Node: Top, Next: Copying, Up: (DIR)
-
- Introduction
- ************
-
- This manual documents how to run, install and port the GNU C
- compiler, as well as its new features and incompatibilities, and how
- to report bugs.
-
- * Menu:
-
- * Copying:: GNU General Public License says
- how you can copy and share GNU CC.
- * Contributors:: People who have contributed to GNU CC.
- * Boycott:: Protect your freedom--fight ``look and feel''.
- * Options:: Command options supported by `gcc'.
- * Installation:: How to configure, compile and install GNU CC.
- * Trouble:: If you have trouble installing GNU CC.
- * Incompatibilities:: Incompatibilities of GNU CC.
- * Extensions:: GNU extensions to the C language.
- * Bugs:: How to report bugs (if you want to get them fixed).
- * Portability:: Goals of GNU CC's portability features.
- * Interface:: Function-call interface of GNU CC output.
- * Passes:: Order of passes, what they do, and what each file is for.
- * RTL:: The intermediate representation that most passes work on.
- * Machine Desc:: How to write machine description instruction patterns.
- * Machine Macros:: How to write the machine description C macros.
- * Config:: Writing the `xm-MACHINE.h' file.
-
-
- File: gcc.info, Node: Copying, Next: Contributors, Prev: Top, Up: Top
-
- GNU GENERAL PUBLIC LICENSE
- **************************
-
- Version 1, February 1989
-
- Copyright (C) 1989 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
- =========
-
- The license agreements of most software companies try to keep users
- at the mercy of those companies. By contrast, our General Public
- License is intended to guarantee your freedom to share and change
- free software--to make sure the software is free for all its users.
- The General Public License applies to the Free Software Foundation's
- software and to any other program whose authors commit to using it.
- You can use it for your programs, too.
-
- When we speak of free software, we are referring to freedom, not
- price. Specifically, the General Public License is designed to make
- sure that you have the freedom to give away or sell copies of free
- software, that you receive source code or can get it if you want it,
- that you can change the software or use pieces of it in new free
- programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
- anyone to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if
- you distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of a such a program, whether
- gratis or for a fee, you must give the recipients all the rights that
- you have. You must make sure that they, too, receive or can get the
- source code. And you must tell them their rights.
-
- We protect your rights with two steps: (1) copyright the software,
- and (2) offer you this license which gives you legal permission to
- copy, distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
- that everyone understands that there is no warranty for this free
- software. If the software is modified by someone else and passed on,
- we want its recipients to know that what they have is not the
- original, so that any problems introduced by others will not reflect
- on the original authors' reputations.
-
- The precise terms and conditions for copying, distribution and
- modification follow.
-
- TERMS AND CONDITIONS
-
- 1. This License Agreement applies to any program or other work
- which contains a notice placed by the copyright holder saying it
- may be distributed under the terms of this General Public
- License. The ``Program'', below, refers to any such program or
- work, and a ``work based on the Program'' means either the
- Program or any work containing the Program or a portion of it,
- either verbatim or with modifications. Each licensee is
- addressed as ``you''.
-
- 2. You may copy and distribute verbatim copies of the Program's
- source code as you receive it, in any medium, provided that you
- conspicuously and appropriately publish on each copy an
- appropriate copyright notice and disclaimer of warranty; keep
- intact all the notices that refer to this General Public License
- and to the absence of any warranty; and give any other
- recipients of the Program a copy of this General Public License
- along with the Program. You may charge a fee for the physical
- act of transferring a copy.
-
- 3. You may modify your copy or copies of the Program or any portion
- of it, and copy and distribute such modifications under the
- terms of Paragraph 1 above, provided that you also do the
- following:
-
- * cause the modified files to carry prominent notices stating
- that you changed the files and the date of any change; and
-
- * cause the whole of any work that you distribute or publish,
- that in whole or in part contains the Program or any part
- thereof, either with or without modifications, to be
- licensed at no charge to all third parties under the terms
- of this General Public License (except that you may choose
- to grant warranty protection to some or all third parties,
- at your option).
-
- * If the modified program normally reads commands
- interactively when run, you must cause it, when started
- running for such interactive use in the simplest and most
- usual way, to print or display an announcement including an
- appropriate copyright notice and a notice that there is no
- warranty (or else, saying that you provide a warranty) and
- that users may redistribute the program under these
- conditions, and telling the user how to view a copy of this
- General Public License.
-
- * You may charge a fee for the physical act of transferring a
- copy, and you may at your option offer warranty protection
- in exchange for a fee.
-
- Mere aggregation of another independent work with the Program
- (or its derivative) on a volume of a storage or distribution
- medium does not bring the other work under the scope of these
- terms.
-
- 4. You may copy and distribute the Program (or a portion or
- derivative of it, under Paragraph 2) in object code or
- executable form under the terms of Paragraphs 1 and 2 above
- provided that you also do one of the following:
-
- * accompany it with the complete corresponding
- machine-readable source code, which must be distributed
- under the terms of Paragraphs 1 and 2 above; or,
-
- * accompany it with a written offer, valid for at least three
- years, to give any third party free (except for a nominal
- charge for the cost of distribution) a complete
- machine-readable copy of the corresponding source code, to
- be distributed under the terms of Paragraphs 1 and 2 above;
- or,
-
- * accompany it with the information you received as to where
- the corresponding source code may be obtained. (This
- alternative is allowed only for noncommercial distribution
- and only if you received the program in object code or
- executable form alone.)
-
- Source code for a work means the preferred form of the work for
- making modifications to it. For an executable file, complete
- source code means all the source code for all modules it
- contains; but, as a special exception, it need not include
- source code for modules which are standard libraries that
- accompany the operating system on which the executable file
- runs, or for standard header files or definitions files that
- accompany that operating system.
-
- 5. You may not copy, modify, sublicense, distribute or transfer the
- Program except as expressly provided under this General Public
- License. Any attempt otherwise to copy, modify, sublicense,
- distribute or transfer the Program is void, and will
- automatically terminate your rights to use the Program under
- this License. However, parties who have received copies, or
- rights to use copies, from you under this General Public License
- will not have their licenses terminated so long as such parties
- remain in full compliance.
-
- 6. By copying, distributing or modifying the Program (or any work
- based on the Program) you indicate your acceptance of this
- license to do so, and all its terms and conditions.
-
- 7. Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from
- the original licensor to copy, distribute or modify the Program
- subject to these terms and conditions. You may not impose any
- further restrictions on the recipients' exercise of the rights
- granted herein.
-
- 8. The Free Software Foundation may publish revised and/or new
- versions of the General Public License from time to time. Such
- new versions will be similar in spirit to the present version,
- but may differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
- Program specifies a version number of the license which applies
- to it and ``any later version'', you have the option of
- following the terms and conditions either of that version or of
- any later version published by the Free Software Foundation. If
- the Program does not specify a version number of the license,
- you may choose any version ever published by the Free Software
- Foundation.
-
- 9. If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to
- the author to ask for permission. For software which is
- copyrighted by the Free Software Foundation, write to the Free
- Software Foundation; we sometimes make exceptions for this. Our
- decision will be guided by the two goals of preserving the free
- status of all derivatives of our free software and of promoting
- the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS''
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
- WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
- COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
- OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
- ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
- =======================================================
-
- If you develop a new program, and you want it to be of the greatest
- possible use to humanity, the best way to achieve this is to make it
- free software which everyone can redistribute and change under these
- terms.
-
- To do so, attach the following notices to the program. It is safest
- to attach them to the start of each source file to most effectively
- convey the exclusion of warranty; and each file should have at least
- the ``copyright'' line and a pointer to where the full notice is found.
-
- ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
- Copyright (C) 19YY NAME OF AUTHOR
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- Also add information on how to contact you by electronic and paper
- mail.
-
- If the program is interactive, make it output a short notice like
- this when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
- The hypothetical commands `show w' and `show c' should show the
- appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and
- `show c'; they could even be mouse-clicks or menu items--whatever
- suits your program.
-
- You should also get your employer (if you work as a programmer) or
- your school, if any, to sign a ``copyright disclaimer'' for the
- program, if necessary. Here a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (a program to direct compilers to make passes
- at assemblers) written by James Hacker.
-
- SIGNATURE OF TY COON, 1 April 1989
- Ty Coon, President of Vice
-
- That's all there is to it!
-
-
- File: gcc.info, Node: Contributors, Next: Boycott, Prev: Copying, Up: Top
-
- Contributors to GNU CC
- **********************
-
- In addition to Richard Stallman, several people have written parts of
- GNU CC.
-
- * The idea of using RTL and some of the optimization ideas came
- from the U. of Arizona Portable Optimizer, written by Jack
- Davidson and Christopher Fraser. See ``Register Allocation and
- Exhaustive Peephole Optimization'', Software Practice and
- Experience 14 (9), Sept. 1984, 857-866.
-
- * Paul Rubin wrote most of the preprocessor.
-
- * Leonard Tower wrote parts of the parser, RTL generator, and RTL
- definitions, and of the Vax machine description.
-
- * Ted Lemon wrote parts of the RTL reader and printer.
-
- * Jim Wilson implemented loop strength reduction and some other
- loop optimizations.
-
- * Nobuyuki Hikichi of Software Research Associates, Tokyo,
- contributed the support for the Sony NEWS machine.
-
- * Charles LaBrec contributed the support for the Integrated
- Solutions 68020 system.
-
- * Michael Tiemann of MCC wrote most of the description of the
- National Semiconductor 32000 series cpu. He also wrote the code
- for inline function integration and for the SPARC cpu and
- Motorola 88000 cpu and part of the Sun FPA support.
-
- * Jan Stein of the Chalmers Computer Society provided support for
- Genix, as well as part of the 32000 machine description.
-
- * Randy Smith finished the Sun FPA support.
-
- * Robert Brown implemented the support for Encore 32000 systems.
-
- * David Kashtan of SRI adapted GNU CC to the Vomit-Making System.
-
- * Alex Crain provided changes for the 3b1.
-
- * Greg Satz and Chris Hanson assisted in making GNU CC work on
- HP-UX for the 9000 series 300.
-
- * William Schelter did most of the work on the Intel 80386 support.
-
- * Christopher Smith did the port for Convex machines.
-
- * Paul Petersen wrote the machine description for the Alliant FX/8.
-
- * Alain Lichnewsky ported GNU CC to the Mips cpu.
-
- * Devon Bowen, Dale Wiles and Kevin Zachmann ported GNU CC to the
- Tahoe.
-
- * Jonathan Stone wrote the machine description for the Pyramid
- computer.
-
-
- File: gcc.info, Node: Boycott, Next: Options, Prev: Contributors, Up: Top
-
- Protect Your Freedom--Fight ``Look And Feel''
- *********************************************
-
- Ashton-Tate, Apple, Lotus and Xerox are trying to create a new form
- of legal monopoly: a copyright on a class of user interfaces. These
- monopolies would cause serious problems for users and developers of
- computer software and systems.
-
- Until three years ago, the law seemed clear: no one could restrict
- others from using a user interface; programmers were free to
- implement any interface they chose. Imitating interfaces, sometimes
- with changes, was standard practice in the computer field. The
- interfaces we know evolved gradually in this way; for example, the
- Macintosh user interface drew ideas from the Xerox interface, which
- in turn drew on work done at Stanford and SRI. 1-2-3 imitated
- VisiCalc, and dBase imitated a database program from JPL.
-
- Most computer companies, and nearly all computer users, were happy
- with this state of affairs. The companies that are suing say it does
- not offer ``enough incentive'' to develop their products, but they
- must have considered it ``enough'' when they made their decision to
- do so. It seems they are not satisfied with the opportunity to
- continue to compete in the marketplace--not even with a head start.
-
- If Xerox, Lotus, Apple and Ashton-Tate are permitted to make law
- through the courts, the precedent will hobble the software industry:
-
- * Gratuitous incompatibilites will burden users. Imagine if each
- car manufacturer had to arrange the pedals in a different order.
-
- * Software will become and remain more expensive. Users will be
- ``locked in'' to proprietary interfaces, for which there is no
- real competition.
-
- * Large companies have an unfair advantage wherever lawsuits
- become commonplace. Since they can easily afford to sue, they
- can intimidate small companies with threats even when they don't
- really have a case.
-
- * User interface improvements will come slower, since incremental
- evolution through creative imitation will no longer be permitted.
-
- * Even Apple, etc., will find it harder to make improvements if
- they can no longer adapt the good ideas that others introduce,
- for fear of weakening their own legal positions. Some users
- suggest that this stagnation may already have started.
-
- Here are some things you can do to protect your freedom to write
- programs:
-
- * Don't buy from Xerox, Lotus, Apple or Ashton-Tate. Buy from
- their competitors or from the defendants they are suing.
-
- * Don't develop software to work with the systems made by these
- companies.
-
- * Port your existing software to competing systems, so that you
- encourage users to switch.
-
- * Write letters to company presidents to let them know their
- conduct is unacceptable.
-
- * Tell your friends and colleagues about this issue and how it
- threatens to ruin the computer industry.
-
- * Join the League for Programming Freedom. Phone (617) 492-0023
- or write to:
-
- League for Programming Freedom
- 1 Kendall Square #143
- P.O. Box 9171
- Cambridge, MA 02139 league@prep.ai.mit.edu
-
- * Above all, don't work for the look-and-feel plaintiffs, and
- don't accept contracts from them.
-
- * Write to or phone your elected representatives to show them how
- important this issue is.
-
- Senator So and So Representative So and So
- United States Senate House of Representatives
- Washington, DC 20510 Washington, DC 20515
-
- You can phone senators and representatives at (202) 225-3121.
-
- Express your opinion! You can make a difference.
-
-
-